package ManagedBeans;

import Librerias.Categoria;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.TypedQuery;

@ManagedBean(name = "ManagedBeanCategorias")
@ApplicationScoped

public class ManagedBeanCategorias {
    private EntityManagerFactory emf = Persistence.createEntityManagerFactory("Tienda_slorenzoPU");
    private EntityManager em = emf.createEntityManager();
    private ArrayList<Categoria> lista = new ArrayList<Categoria>();
    private Categoria categoria;    
    
    public ManagedBeanCategorias() { }
    
    public ArrayList<Categoria> getLista() {
        return lista;
    }

    public void setLista(ArrayList<Categoria> lista) {
        this.lista = lista;
    }
    
    public void cargarLista(){
        this.lista.clear();
        TypedQuery<Categoria> query = em.createQuery("Select c from Categoria c", Categoria.class);
        List<Categoria> cat =query.getResultList();
        for(Categoria c : cat){
            categoria = new Categoria();
            categoria.setId(c.getId());
            categoria.setNombre(c.getNombre());
            this.getLista().add(categoria);
        }
    }
    
    public void limpiarLista(){
        this.lista.clear();
    }
    
    public Categoria devolverCategoria(int id){
        return em.find(Categoria.class, id);
    }
}
